package com.wyh.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wyh.common.request.PageRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 直播记录管理请求对象 video_live_record
 *
 * @author WangYuHang
 * @date 2024-03-03
 */
@Data
@ApiModel(value = "直播记录管理对象")
@EqualsAndHashCode(callSuper = true)
public class VideoLiveRecordRequest extends PageRequest {



    /**
     * 唯一标识主键，自增
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty(value = "id")
    private Integer id;

    /**
     * 直播间唯一标识
     */
    @ApiModelProperty(value = "直播间唯一标识")
    private Integer liveRoomId;

    /**
     * 主播唯一标识
     */
    @ApiModelProperty(value = "主播唯一标识")
    private Integer masterId;

    /**
     * 直播标题
     */
    @ApiModelProperty(value = "直播标题")
    private String liveTitle;

    /**
     * 直播公告 描述

     */
    @ApiModelProperty(value = "直播公告 描述 ")
    private String liveDescription;

    /**
     * 直播状态，0表示正在直播，1表示已结束
     */
    @ApiModelProperty(value = "直播状态，0表示正在直播，1表示已结束")
    private Integer liveStatus;

    /**
     * 直播位置
     */
    @ApiModelProperty(value = "直播位置")
    private String liveAddress;

    /**
     * 是否收费，0表示收费，1表示不收费
     */
    @ApiModelProperty(value = "是否收费，0表示收费，1表示不收费")
    private Integer isCharge;

    /**
     * 直播门票费用
     */
    @ApiModelProperty(value = "直播门票费用")
    private BigDecimal liveTicket;

    /**
     * 本次直播时长（单位：秒）
     */
    @ApiModelProperty(value = "本次直播时长（单位：秒）")
    private Integer liveTime;

    /**
     * 直播打赏量
     */
    @ApiModelProperty(value = "直播打赏量")
    private Integer liveGiftNum;

    /**
     * 观看总人数
     */
    @ApiModelProperty(value = "观看总人数")
    private Integer livePersonNum;

    /**
     * 新增粉丝数
     */
    @ApiModelProperty(value = "新增粉丝数")
    private Integer newFanNum;

    /**
     * 回放链接对应的回放ID
     */
    @ApiModelProperty(value = "回放链接对应的回放ID")
    private Integer playbackId;

    /**
     * 是否删除 0否 1是
     */
    @ApiModelProperty(value = "是否删除 0否 1是")
    private Integer isDelete;

    /**
     * 创建人ID
     */
    @ApiModelProperty(value = "创建人ID")
    private Integer createUserId;

    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新人ID
     */
    @ApiModelProperty(value = "更新人ID")
    private Integer updateUserId;

    /**
     * 更新时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;
}
